import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;


import java.io.IOException;

/**
 * 第一对kv: map输入参数类型
 * LongWritable, Text-->文本偏移量（后面不会用到），一行文本内容
 * 第二对kv：map输出参数类型
 * LongWritable,LongWritable-->数字，1
*/
public class SortNumMapper extends Mapper<LongWritable,Text,LongWritable,LongWritable> {

    //提升为全局变量，避免每次执行map方法都执行此操作
    final LongWritable num = new LongWritable();
    final LongWritable one = new LongWritable(1);
    // 重写map方法
    @Override
    // LongWritable, Text-->文本偏移量，一行文本内容，map方法的输入参数，一行文本就调用一次map方法
    protected void map(LongWritable key, Text value, Context context)
            throws IOException, InterruptedException {
        //1 接收到文本内容，转为String类型
        String str=value.toString();
        //2 转换接收内容
        num.set(Integer.parseInt(str));
        //3 输出<内容，1>
        context.write(num, one);

    }
}
